const _invitedMemberImg =
  "https://100000063-1252208446.file.myqcloud.com/images/invited-member.png";
const _makeTheCallImg =
  "https://100000063-1252208446.file.myqcloud.com/images/macallan-remvp/modalImg.png";

const _estImg =
  "https://100000063-1252208446.file.myqcloud.com/images/macallan-remvp/modalImg.png";

export const invitedMemberImg = _invitedMemberImg;
export const makeTheCallImg = _makeTheCallImg;
export const estImg = _estImg;

export const REGISTER_USER_TYPE = {
  NEW_USER: "NEW_USER", // 新用户注册
  OLD_USER: "OLD_USER", // 老用户绑定
};

export const HANDLE_TYPE = {
  COMPLETE_INFO: "COMPLETE_INFO", // 完善信息
  CLOSE: "CLOSE", // 关闭弹窗
  BIND: "BIND", // 绑定手机号
  JOIN_TS_ACTIVE: "JOIN_TS_ACTIVE", // 参加TS活动
  CONTACT_EF_SERVICE: "CONTACT_EF_SERVICE", //联系客服
};

// 未匹配(无作用)
export const MESSAGE_MODAL_NO_MATCHING_CODE = "MESSAGE_MODAL_NO_MATCHING_CODE";
// 某个业务处理成功, 并且无对应的UI模板
export const MESSAGE_MODAL_SUCCESS_CODE = "MESSAGE_MODAL_SUCCESS_CODE";

/**
 * <message-modal /> 模板(TS)
 */
export const TS_MESSAGE_MODAL_TEMPLATE = {
  // 是EB会员非受邀用户提醒
  EVENT_NOT_INVITED_MEMBER: {
    // img: invitedMemberImg,
    message: "本场活动仅对受邀会员开放，请确保您使用受邀手机号码授权登录，感谢支持。",
    confirmText: "关闭",
    confirmHandle: HANDLE_TYPE.CLOSE,
    confirmFinish: true,
    isShowBigBtn: true,
    haveMemberIcon: true, //图中四个菱形的icon,
    title: "麦卡伦特邀会员专场",
  },
  // 活动未开始
  EVENT_NOT_STARTED: {
    // img: invitedMemberImg,
    message: "尚未开始，敬请期待。",
    alignCenter: true,
    confirmText: "关闭",
    confirmHandle: HANDLE_TYPE.CLOSE,
    confirmFinish: true,
    isShowBigBtn: true,
    haveMemberIcon: true, //图中四个菱形的icon,
    title: "麦卡伦特邀会员专场",
  },
  // 活动已结束
  EVENT_HAS_ENDED: {
    // img: '',
    haveMemberIcon: true,
    message: "本场活动已结束，感谢您的支持。",
    alignCenter: true,
    confirmText: "关闭",
    confirmHandle: HANDLE_TYPE.CLOSE,
    confirmFinish: true,
    isShowBigBtn: true,
    haveMemberIcon: true, //图中四个菱形的icon
    title: "",
  },
  /**
   * 取消授权
   */
  AUTH_CANCEL: {
    img: invitedMemberImg,
    message: "本活动仅限麦卡伦特邀会员参加，请确保您使用受邀手机号码完成会员绑定，否则您将无法参与活动。",
    confirmText: "立即绑定",
    getPhoneNumber: true,
    cancelText: "关闭",
    cancelFinish: true,
  },
  /**
   * 授权
   * 授权手机号非受邀用户
   * 且是一个老会员
   */
  AUTH_NOT_INVITED_OLD_MEMBER: {
    img: invitedMemberImg,
    message: "您当前授权手机号非受邀会员，无法参与特邀会员专场活动，请使用受邀手机号完成会员身份绑定。如您继续使用当前手机号授权，将会为您绑定该手机号对应的非受邀会员账户。",
    confirmText: "重新授权",
    cancelText: "继续绑定",
    cancelHandle: HANDLE_TYPE.BIND,
    getPhoneNumber: true,
    closeIcon: true,
    haveMemberIcon: false,
  },
  /**
   * 授权
   * 授权手机号非受邀用户
   * 且是一个新会员
   */
  AUTH_NOT_INVITED_NEW_MEMBER: {
    img: invitedMemberImg,
    message: "您当前授权手机号非受邀会员，使用受邀手机号完成会员身份绑定方可参与特邀会员专场活动。如您继续使用当前手机号授权入会，将会为您注册新会员。",
    confirmText: "重新授权",
    cancelText: "继续加入",
    cancelHandle: HANDLE_TYPE.BIND,
    getPhoneNumber: true,
    closeIcon: true,
  },
  /**
   * 绑定手机号
   * 已授权手机号是会员但没有unionID
   * 当下unionID有手机号,且手机号和已授权手机号不一致
   */
  BIND_MEMBER_NO_ID: {
    // img: makeTheCallImg,
    message: "该微信账号已绑定其他手机号码，请以相应手机号码重新授权，或更换微信账号重新登录后绑定。如需换绑，请联系客服。",
    confirmText: "重新授权",
    cancelText: "关闭",
    getPhoneNumber: true,
    cancelFinish: true,
    haveCloseIcon: false, //右上角的关闭按钮
    haveMemberIcon: true, //图中四个菱形的icon
  },

  /**
   * 绑定手机号
   * 已授权手机号不是会员且没有unionID
   * 当下unionID有手机号,且手机号和已授权手机号不一致
   * 蓝湖文案 方便定位
   * 该微信账号已绑定其他手机号码，请以相应手机号码重新授权，或更换未经注册的信账号重新登录后入会。如需帮助，请联系客服。
   */
  BIND_NOT_MEMBER_NO_ID: {
    // img: makeTheCallImg,
    message: "该微信账号已绑定其他手机号码，请以相应手机号码重新授权，或更换未经注册的微信账号重新登录后入会。如需帮助，请联系客服。",
    confirmText: "重新授权",
    cancelText: "关闭",
    getPhoneNumber: true,
    cancelFinish: true,
    haveCloseIcon: false, //右上角的关闭按钮
    haveMemberIcon: true, //图中四个菱形的icon
  },
  /**
   * 绑定失败
   * 该场景为极端场景，如果运营同学误将非麦卡伦会员设置为了受邀用户，那么是会存在非会员是受邀用户的情况
   * 授权手机号不是会员且为受邀手机号
   * 查询到当下unionID没有手机号
   */
  FAIL_NOT_MEMBER: {
    // img: invitedMemberImg,
    message: "您授权的手机号当前非会员身份，且当前微信账号已绑定其他手机号码，请更换未经注册的微信账号重新登录后入会，方可参与特邀专场。如需帮助，请联系客服。",
    confirmText: "关闭",
    confirmHandle: HANDLE_TYPE.CLOSE,
    confirmFinish: true,
    haveCloseIcon: true, //右上角的关闭按钮
    haveMemberIcon: true, //图中四个菱形的icon
  },
  /**
   * 绑定失败
   * 授权手机号是受邀用户
   * 授权手机号是会员且没有unionID
   */
  FAIL_NO_ID: {
    // img: invitedMemberImg,
    message: "该微信账号已绑定其他手机号码，请使用当前授权手机号入会时对应的微信账号登陆，或联系客服验证身份后换绑至当前微信号；您也可以更换未经注册的微信账号重新登录后完成绑定。如需帮助，请联系客服。",
    confirmText: "关闭",
    confirmHandle: HANDLE_TYPE.CLOSE,
    confirmFinish: true,
    haveCloseIcon: true, //右上角的关闭按钮
    haveMemberIcon: true, //图中四个菱形的icon
  },
  /**
   * 绑定失败
   * 授权手机号是受邀用户
   * 授权手机号是会员且有unionID
   */
  FAIL_HAS_ID: {
    img: invitedMemberImg,
    message: "该微信账号已绑定其他手机号码，请使用当前授权手机号入会时对应的微信账号登陆，或联系客服验证身份后换绑至当前微信号；您也可以更换未经注册的微信账号重新登录后完成绑定。如需帮助，请联系客服。",
    confirmText: "关闭",
    confirmHandle: HANDLE_TYPE.CLOSE,
  },
  /**
   * 绑定成功(入会)
   * 授权手机号不是会员且为非受邀手机号
   * 当下unionID没有手机号
   */
  SUCCESS_JOIN_MESSAGE: {
    img: makeTheCallImg,
    title: "恭喜您成功入会",
    message: "特邀专场仅限受邀会员可享，请使用受邀手机号登录及参与。",
    confirmText: "关闭",
    confirmHandle: HANDLE_TYPE.CLOSE,
    doRegister: true,
    confirmFinish: true,
  },

  /**
   * 绑定成功
   * 授权手机号是会员且为非受邀手机号
   * 1、当下unionID没有手机号，授权手机号（老会员）没有unionID
   * 2、当下unionID有手机号，且授权的手机号（老会员）和当下unionID一致
   * 3、当下unionID没有手机号且unionID和已授权的手机号（老会员）不一致
   * 提示绑定成功
   */
  SUCCESS_BIND_MESSAGE: {
    img: '',
    title: "恭喜您成功绑定",
    message: "特邀专场仅限受邀会员可享，请使用受邀手机号登录及参与。",
    confirmText: "关闭",
    confirmHandle: HANDLE_TYPE.CLOSE,
    doRegister: true,
    confirmFinish: true,
  },
  /**
   * 绑定成功
   * 该场景为极端场景，如果运营同学误将非麦卡伦会员设置为了受邀用户，那么是会存在非会员是受邀用户的情况
   * 授权手机号不是会员且为受邀手机号
   * 查询到当下unionID没有手机号
   */
  SUCCESS_JOIN_NEXT: {
    img: makeTheCallImg,
    title: "恭喜您成功入会",
    message: "参与麦卡伦特邀专场，尊享专属权益。",
    alignCenter: true,
    confirmText: "即刻参与",
    confirmHandle: HANDLE_TYPE.JOIN_TS_ACTIVE,
    doRegister: true,
  },
  /**
   * 绑定成功
   * 授权手机号是会员且为受邀手机号
   * 1、查询到当下unionID没有手机号，授权手机号（老会员）没有unionID
   * 2、当下unionID有手机号，且授权的手机号（老会员）和当下unionID一致
   * 3、当下unionID没有手机号且unionID和已授权的手机号（老会员）不一致
   * 提示绑定成功
   */
  SUCCESS_BIND_NEXT: {
    img: makeTheCallImg,
    title: "恭喜您成功绑定",
    message: "参与麦卡伦特邀会员专场活动，尊享专属权益。",
    confirmText: "即刻参与",
    confirmHandle: HANDLE_TYPE.JOIN_TS_ACTIVE,
    doRegister: true,
  },
  //境外手机号弹窗
  OVERSEAS_MEMBER: {
    // img: makeTheCallImg,
    message: "抱歉，当前仅支持中国大陆手机号。请更换手机号后重新授权，完成会员注册。",
    confirmText: "重新授权",
    cancelText: "关闭",
    getPhoneNumber: true,
    haveCloseIcon: false, //右上角的关闭按钮
    haveMemberIcon: true, //图中四个菱形的icon
  },
  //历史遗留境外手机号提示弹窗
  HISTORY_OVERSEAS_MEMBER: {
    // img: makeTheCallImg,
    message: "当前仅支持中国大陆手机号登记的会员账户，为保障您的会员权益，建议您更换手机号重新注册，请联系客服协助。",
    confirmText: "联系客服",
    cancelText: "关闭",
    cancelHandle: HANDLE_TYPE.CONTACT_EF_SERVICE,
    contactService: true,
    cancelFinish: true,
    haveCloseIcon: false, //右上角的关闭按钮
    haveMemberIcon: true, //图中四个菱形的icon
  },
};

/**
 * <message-modal /> 模板(普通)
 */
export const MESSAGE_MODAL_TEMPLATE = {
  /**
   * 1、查询到当下unionID没有手机号，授权手机号（老会员）没有unionID
   * 2、当下unionID有手机号，且授权的手机号（老会员）和当下unionID一致
   * 3、当下unionID没有手机号，且unionID和已授权的手机号（老会员）不一致
   * 提示绑定成功
   */
  SUCCESS_BIND_HAS_MEMBER: {
    img: '',
    title: "恭喜你成功绑定",
    message: "查询到该账号已在麦卡伦官方渠道注册过会员，现已为您成功绑定；完善个人信息将有机会享受更多会员权益。",
    // confirmText: "去完善",
    confirmHandle: HANDLE_TYPE.COMPLETE_INFO,
    // cancelText: "稍后再看",
    doRegister: true,
    confirmFinish: true,
    cancelFinish: true,
    haveCloseIcon: true, //右上角的关闭按钮
    haveMemberIcon: true, //图中四个菱形的icon
  },
  /**
   * 绑定成功
   * 1、查询到当下unionID没有手机号，授权手机号（老会员）没有unionID
   * 2、当下unionID有手机号，且授权的手机号（老会员）和当下unionID一致
   * 3、当下unionID没有手机号，且unionID和已授权的手机号（老会员）不一致
   * 提示绑定成功
   */
  SUCCESS_BIND: {
    img: '',
    title: "恭喜你成功绑定",
    message: "完善个人信息有机会享受更多会员权益",
    alignCenter: true,
    // confirmText: "立即完善",
    confirmHandle: HANDLE_TYPE.COMPLETE_INFO,
    // cancelText: "稍后完善",
    doRegister: true,
    confirmFinish: true,
    cancelFinish: true,
    haveCloseIcon: true, //右上角的关闭按钮
    haveMemberIcon: true, //图中四个菱形的icon
  },
  /**
   * 入会成功
   * 查询到当下unionID没有手机号，授权手机号是新会员，提示入会成功
   */
  SUCCESS_JOIN: {
    img: makeTheCallImg,
    title: "恭喜你成功入会",
    message: "完善个人信息有机会享受更多会员权益",
    alignCenter: true,
    confirmText: "立即完善",
    confirmHandle: HANDLE_TYPE.COMPLETE_INFO,
    cancelText: "稍后完善",
    doRegister: true,
    confirmFinish: true,
    cancelFinish: true,
    haveCloseIcon: true, //右上角的关闭按钮
    haveMemberIcon: false, //图中四个菱形的icon
  },
  /**
   * 绑定失败
   * 已授权手机号是会员但没有unionID
   * 当下unionID有手机号,且手机号和已授权手机号不一致，并且该手机号注册过会员但是和原有注册的手机号不一致
   */
  FAIL_NO_ID: {
    // img: makeTheCallImg,
    message: "该微信账号已绑定其它手机账号，请以相应手机号码重新授权，或更换微信账号重新登录后绑定。如需换绑，请联系客服。",
    // "该微信账号已经绑定了其他手机号码，请以相应的手机号码重新授权，或更换为未经注册的微信账号，重新登录后入会。如需帮助，请联系客服。",
    confirmText: "重新授权",
    cancelText: "关闭",
    getPhoneNumber: true,
    haveCloseIcon: false, //右上角的关闭按钮
    haveMemberIcon: true, //图中四个菱形的icon
  },
  /**
   * 绑定失败
   * 已授权手机号是会员且有unionID
   * 当下unionID有手机号,且手机号和已授权手机号不一致
   */
  FAIL_HAS_ID: {
    // img: makeTheCallImg,
    message: "该微信账号已绑定其它手机账号，请以相应手机号码重新授权，或更换微信账号重新登录后绑定。如需换绑，请联系客服。",
    confirmText: "重新授权",
    cancelText: "关闭",
    getPhoneNumber: true,
    haveCloseIcon: false, //右上角的关闭按钮
    haveMemberIcon: true, //图中四个菱形的icon
  },
  /**
   * 绑定失败
   * 已授权手机号不是会员且没有unionID
   * 当下unionID有手机号,且手机号和已授权手机号不一致，并且该手机号未注册过会员
   */
  FAIL_NOT_MEMBER: {
    // img: makeTheCallImg,
    message: "该微信账号已经绑定了其他手机号码，请以相应的手机号码重新授权，或更换为未经注册的微信账号，重新登录后入会。如需帮助，请联系客服。",
    confirmText: "重新授权",
    cancelText: "关闭",
    getPhoneNumber: true,
    haveCloseIcon: false, //右上角的关闭按钮
    haveMemberIcon: true, //图中四个菱形的icon
  },
  //境外手机号弹窗
  OVERSEAS_MEMBER: {
    // img: makeTheCallImg,
    message: "抱歉，当前仅支持中国大陆手机号。请更换手机号后重新授权，完成会员注册。",
    confirmText: "重新授权",
    cancelText: "关闭",
    getPhoneNumber: true,
    haveCloseIcon: false, //右上角的关闭按钮
    haveMemberIcon: true, //图中四个菱形的icon
  },
  //历史遗留境外手机号提示弹窗
  HISTORY_OVERSEAS_MEMBER: {
    // img: makeTheCallImg,
    message: "当前仅支持中国大陆手机号登记的会员账户，为保障您的会员权益，建议您更换手机号重新注册，请联系客服协助。",
    confirmText: "联系客服",
    cancelText: "关闭",
    cancelHandle: HANDLE_TYPE.CONTACT_EF_SERVICE,
    contactService: true,
    cancelFinish: true,
    haveCloseIcon: false, //右上角的关闭按钮
    haveMemberIcon: true, //图中四个菱形的icon
  },
};

/**
 * @param {TARGET_SALES | NORMAL} type
 * @param {string} key
 * @param {boolean | undefined} tsNotInvited
 */
export const getMessageModalTemplate = (type, key, tsNotInvited) => {
  const store = (() => {
    if (type === "TARGET_SALES") {
      if (tsNotInvited) {
        return MESSAGE_MODAL_TEMPLATE;
      }
      return TS_MESSAGE_MODAL_TEMPLATE;
    }
    return MESSAGE_MODAL_TEMPLATE;
  })();

  const data = store[key];
  if (data) {
    return {
      ...data,
      type,
      key,
    };
  }
  return null;
};